Some computer applications call for a high degree of system integrity, and various approaches have been taken to ensure that a system can continue to perform even in the event of failure of a key component. One such approach is to provide a fully redundant system in which each system component is duplicated, thus effecting two systems, each capable of operating independently, comprising the redundant system. There are distinct advantages to this approach including the fact that, in effect, the power of a tandem system is available for use during normal, failure-free operation. Further, if a component failure should take place, it may be, and usually is, possible to continue operation with a tolerable decrease in performance. The degree of adverse effect on overall system performance from such a failure depends, of course, on which component fails in a given case.
One source of problems which arises in implementing a fully redundant system is found in the necessity to integrate redundant clock generation and distribution (CGD) units into the redundant system. During normal operation, the redundant system operates under a rationalized clock basis. For example, one of the CGD units may operate in a "master" mode and source the clocks for both systems. If a component in one of the systems fails, the redundant system may be split such that the other system can continue operation under control of its own CGD unit while repairs are made to the failed system.
Once repairs have been made to the failed system, it may be tested operating under control of its own CGD unit. However, after its integrity has been confirmed, the two systems must be capable of being remerged on-the-fly. A similar condition exists on routine startup of the redundant system. Both of these related tasks may be complicated by such factors as instantaneous phase differences between the two clock sets, slight frequency differences between the two governing oscillators, slight differences in delays inherent in the physical and electrical displacements between the two CGD units, etc. It is to the solution of all these and other related problems that the present invention is directed.